Embodiments of the present invention relate to network provisioning, and more particularly to techniques for provisioning single or multistage networks.
Typically, in data centers and carrier Ethernet networks where single or multistage networks are created, a network operator has to provision the overall network quality of service, bandwidth, network packet encapsulations, etc. at each network stage. Because of a multitude of network protocols and individual network capabilities that are potentially available at each stage, it is difficult to specify a provisioning framework which configures these network operations at each stage, binds them together with packet modifications, and validates overall configuration with configuration elements at each stage.
Provisioning systems typically involve configuration of network protocol packet processing and service parameters at each port in each networking system. After network configuration is done at each port, a separate command has to be used to bind two adjacent ports so that the two ports can communicate using an appropriate network packet format. In a multistage network, an operator has to ensure that each such port-pair is configured properly and also that the entire system, composed of multiple such port pairs, also is configured correctly. Whenever there is any change in any of the port-pairs, the overall system operation and network service allocation may fail without knowledge of the operator. For example, whenever a port is removed or moved to a new interface, configuration needs to be changed since all configuration parameters are tied to a port. Provisioning systems do not allow one to define rules of association of different network ports and packet formats for the entire system.